This article discusses a theoretical foundation for code coverage analysis as well as a practical implementation approach based on the Travis-CI continuous integration system and the Coveralls code coverage analysis tool.
Intentions behind code coverage analysis
Code quality is the cornerstone of any project. Poor code imposes more and more overhead for its maintenance over time, while adding new features takes more time and effort than it would for the quality code. It goes without saying, that criteria for code quality are not universal, they are defined and modified throughout the life cycle of the code.
There are many ways and tools for managing code quality from technical, as well as from organizational perspectives. These tools, when applied by experienced professionals, can ensure compliance with high standards and make the developers proud of their code. These very same tools may in other cases completely paralyze the team by encouraging the developers to dovetail their code for passing excessive checks, at the same time ignoring its more important quality-defining properties.